package General;

import java.io.IOException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Vector;


public interface ShipInterface extends Remote {
	QuoteInterface quote(Product product) throws RemoteException;
	void changeRates(int rateGround, int rateAir, int rateAirPriority) throws RemoteException, IOException;
	boolean request(Product product, EventInterface event) throws RemoteException, IOException;
	String status(Product product) throws RemoteException;
	Vector<Product> pendingShipments() throws RemoteException;
	Product getPending(int index) throws RemoteException;
	Product getComplete(int index) throws RemoteException;
	String serialize() throws RemoteException, IOException;
	ShipInterface deserialize(String file) throws RemoteException, IOException, ClassNotFoundException;
	void updateStatus() throws RemoteException, IOException;
}